hero = obj {
  nam           = "себя",
  Exam          = function(s)
                    if deref(here()) == "dream" then
                      return [[Я разоделся так, словно отправляюсь на прием к Ее Величеству. На мне новый, еще недёванный камзол, 
                               который немного мне жмет, и из-за этого я чувствую себя как мальчишка в наглухо застегнутой гимнастерке.]];
                    elseif entry8._open then
                      return [[У меня сейчас нет желания разглядывать себя.]];
                    else
                      return inventory(s);
                    end
                  end
}

mainland = obj {
   nam          = "mainland"
}

stead.savename = function(s)
  if mainland._episode == nil then
    return txtb("Материк");
  else
    return mainland._episode;
  end
end

function wearall()
  jacket._off = false;
  shoes._off = false;
end

pants = item {
   nam          = _"потертые брюки"
  ,dress        = true
  ,TakeOff      = [[Не думаю, что снимать брюки -- это хорошая идея.]]
  ,Throw        = [[Не стоит мне это делать.]]
  ,ThrowIn      = redirect_("Throw", "pants")
  ,withPure     = true
}

kerchief = item {
   _drink       = false --Kerchief is in drink
  ,_dirty       = true
  ,nam          = _"платок"
  ,Exam         = choose_ {
                     ["default"] = "Носовой платок, на котором вышиты мои инициалы, весь измятый и грязный, как будто им протирали обувь."
                    ,["kerchief._drink and not spyglass2._taken"] = "От носового платка сильно пахнет спиртным, у меня даже начинает слегка кружиться голова."
                    ,["kerchief._drink and spyglass2._taken"] = "Измятый носовой платок, на котором вышиты мои инициалы. От платка все еще исходит легкий запах спиртного."
                  }
  ,Clean        = choose_ {
                     ["default"] = "Надо бы сполоснуть его в воде, но сейчас некогда этим заниматься."
                    ,["not kerchief._dirty"] = "Платок и так достаточно чистый."
                  }
  ,Throw        = [[Мне не хочется выбрасывать свой платок. Выглядит он, конечно, не очень, но все же... Этот платок напоминает мне о Лондоне, о моем отце.]]
  ,ThrowIn      = [[Зачем? К тому же платок все равно слишком легкий, я не смогу его добросить.]]
  ,Wear         = [[Можно, конечно, повязать платок вокруг шеи, но от ветра это не сильно поможет. К тому же платок, к сожалению, не слишком чистый.]]
  ,Wet          = choose_ {
                     ["default"] = chain_ { set_("kerchief._drink"), "Я вылил немного виски на платок. Надеюсь, это поможет перебить запах в трюме." }
                    ,["kerchief._drink"] = "От платка и так уже несет виски."
                  }
  ,Wash         = [[Мне кажется, соленая вода окончательно испортит мой платок.]]
  ,withClean    = true
  ,withPure     = true
  ,withBant     = true
}

jacket = item {
   _off         = false --Jacket is taken off
  ,dress        = true
  ,nam          = _"камзол"
  ,Clean        = use_ {
                     ["kerchief"] = [[Я отряхнул с камзола пыль платком, но это не слишком помогло. Камзол по-прежнему грязный.]]
                    ,["jacket"] = [[Я потер одним бортом камзола о другой, но это не сильно помогло.]]
                  }
  ,Exam         = choose_ {
                     ["default"] =
                        [[Этот камзол, уже отяжелевший от грязи, защищает меня от ветра и дождя, но, к несчастию, он уже весь износился -- 
                          большинство пуговиц отвалились, манжеты обвисли, да и правый рукав порвался.]]
                    ,["not have(kerchief) and not kerchief._drink"] = 
                        chain_ {
                          take_("kerchief"),
                          [[Этот камзол, отяжелевший от грязи, защищает меня от ветра и дождя, но, к несчастию, он уже весь износился -- 
                            большинство пуговиц отвалились, манжеты обвисли да и правый рукав порвался. Хорошо хоть, что карманы еще не худые --
                            но все равно у меня почему-то возникает неприятное давящее чувство, будто бы я забыл или потерял что-то очень важное.^
                            Я проверил камзол и нащупал в нагрудном кармане шелковый кулёк -- это оказался мой смятый носовой платок.]]
                        }
                  }
  ,TakeOff      = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("jacket._off"),
                          location_ {
                             ["default"] = [[Я снимаю свой тяжелый засаленный камзол.]]
                            ,["cliff"] = [[Я снимаю камзол и перекидываю его через плечо. Вряд ли я смогу долгу простоять так здесь, на утесе. 
                                           С каждым порывом ветра меня пронизывает холодом.]]
                          }
                        }
                    ,["jacket._off"] = "Я уже снял камзол."
                  }
  ,Wear         = choose_ {
                     ["default"] = "Камзол и так на мне."
                    ,["jacket._off"] = 
                        chain_ {
                          unset_("jacket._off"),
                          location_ {
                             ["default"] = [[Я надеваю свой камзол.]]
                            ,["cliff"] = [[Я надеваю свой камзол -- он хоть немного защищает от этого резкого ветра.]]
                          }
                        }
                  }
  ,Throw        = [[Я не привык выбрасывать одежду.]]
  ,ThrowIn      = redirect_("Throw", "jacket")
  ,Wash         = [[Мне совсем не хочется мочить свою куртку.]]
  ,withClean    = true
  ,withPure     = true
}

spyglass2 = item {
   _taken       = false --Spyglass is taken
  ,nam          = _"подзорная труба"
  ,Exam         = [[Я видел эту подзорную трубу у капитана всего несколько раз. Подзорная труба совсем небольшая, с телескопическим
                    механизмом, и, кажется, позолоченная. У основания есть гравировка - "Т. М.", но капитана звали Патрик. Быть может,
                    она досталась ему от кого-то в наследство или же он просто купил ее в лавке старьевщика? Но капитан очень берег
                    свою подзорную трубу, точно она представляла для него особую, теперь уже неисследумую ценность.]]
  ,Take         = chain_ { drop_("rope"), drop_("flask"), drop_("candle"), set_("spyglass2._taken"), take_("spyglass2"), unset_("shoes._off"), unset_("jacket._off"), wearall, walk_("entry3") }
  ,Throw        = [[Я не собираюсь выбрасывать подзорную трубу.]]
  ,ThrowIn      = redirect_("Throw", "spyglass2")
  ,Use          = location_ {
                     ["cliff2"] = function() return reu_cliff2island end
                    ,["othershore_ocean"] = function() return reu_othershoreocean end
                    ,["cliff3"] = 
                        choose_ {
                           ["default"] = function() return reu_cliff3spyglass end
                          ,["cliff3._vessel"] = function() return reu_cliff3vessel end
                        }
                  }
  ,withExamWith = true
}

shoes = item {
   _off         = false --Boots are taken off
  ,dress        = true
  ,nam          = _"ботинки"
  ,Exam         = location_ {
                     ["default"] = [[Мои истоптанные ботинки. Когда мы только отплывали из Лондона, они сверкали так, словно я вырядился на бал.
                                     Теперь же моя обувь выглядит как у бездомного.]]
                    ,["dream"] = [[Мои новенькие лакированные ботинки.]]
                  }
  ,Clean        = use_ {
                     ["kerchief"] = chain_ { set_("kerchief._dirty"), "Я протер ботинки платком -- сильно это их вид не улучшило, а платок совсем запачкался." }
                    ,["jacket"] = "Я не буду чистить ботинки камзолом."
                  }
  ,Throw        = [[Не думаю, что стоит выбрасывать свои ботинки.]]
  ,ThrowIn      = redirect_("Throw", "shoes")
  ,TakeOff      = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("shoes._off"),
                          location_ {
                             ["default"] = "Я снял ботинки. Теперь я стою босиком."
                            ,["cliff"] = [[Я снял ботинки и встал босиком на холодные камни утеса. Вскоре меня начал бить озноб от холода.]]
                            ,["maindeck"] = [[Я снял свои ботинки и прошелся босыми ногами по палубе. С каждым шагом ступни мои обжигало холодом, и вскоре меня начал бить озноб.]]
                          }
                        }
                    ,["shoes._off"] = "Я уже снял ботинки."
                  }
  ,Wear         = choose_ {
                     ["default"] = "Ботинки и так на мне."
                    ,["shoes._off"] =
                        chain_ {
                          unset_("shoes._off"),
                          [[Я быстро натянул свои ботинки -- вряд ли мне стоит разгуливать босиком.]]
                        }
                  }
  ,Wash         = [[Так я только испорчу свои и без того растрепанные ботинки.]]
}

cmn_floor = item {
   nam          = _"~пол"
  ,Exam         = [[Я осматриваю пол и не замечаю ничего интересного.]]
  ,Lie          = [[У меня нет желания ложиться на пол.]]
  ,Sit          = [[Я бы предпочел не сидеть на полу.]]
  ,Fire         = [[Не уверен, что у меня получится поджечь пол, да и зачем мне делать это?]]
  ,FireOff      = [[Пол не горит.]]
  ,Clean        = [[У меня нет желания заниматься уборкой.]]
  ,Wet          = [[Зачем мне пачкать пол?]]
  ,WalkOn       = [[Я прошелся по полу.]]
  ,withThrow    = true
  ,withPure     = true
}

cmn_dirt = item {
   nam          = _"~земля"
  ,Exam         = [[Я не нашел на земле ничего интересного.]]
  ,Sit          = [[Я не настолько устал, чтобы садиться на землю.]]
  ,Lie          = [[У меня нет желания лежать на земле.]]
  ,WalkOn       = [[Я немного прошелся по земле, точно отмеряя что-то своими неловкими уставшими шагами.]]
  ,withThrow    = true
}